@charset "utf-8";
/*=============================================================
 sustainability
=============================================================*/
/* common
-------------------------------------------------------------*/

#section01 h2, #section02 h2 {
	font-size: 2.8rem;
    line-height: 75px;
    margin-bottom: 0;
    margin: 40px 0 15px;
	text-align: center;
}
#section01>div h3 span {font-size: 1.4rem;}
ul.list {
	padding: 20px;
	flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
}
ul.list .fLeft,ul.list .fRight {padding: 10px 0 2px;}
ul.list li {
	background-color: #fff;
    width: 49%;
	display: inline-block;
	padding: 8px 12px;
    box-sizing: border-box;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 10px;
}

ul.list li h4 {
    text-align: center;
	font-size: 1.8rem;
}
ul.list li p{padding-top: 10px;}
ul.list li p.textBold {
	font-size: 1.5rem;
}
ul.list li p.textBold span {
	font-size: 4rem;
	display: block;
    line-height: 1.2;
}
ul.list li p.textGray {
	font-size: 1.3rem;
    color: #686868;
    padding: 5px 0;
}
ul.list li p.textBg {
	display: table;
    width: 100%;
    border-radius: 4px;
    box-sizing: border-box;
	padding: 0;
}

ul.list li p.textBg span {
	display: table-cell;
    vertical-align: middle;
	color: #333;
	font-size: 1.2rem;
}
ul.list li .fLeft, ul.list li .fRight {width: calc(50% - 8px);}
ul.list li.list-related {width: 100%;}

ul.list li.list-related ul li {
	border-bottom: none;
    text-align: left;
	width: 100%;
	padding: 0 0 0 25px;
    margin: 8px 0 0 0;
}
ul.list li.list-related ul li a {font-size: 1.4rem;}

ul.list02 li {width: calc(100% - 2px);}
ul.list02 p {
	font-size: 1.4rem;
    text-align: left;
}
ul.list-flex, ul li.list-flex {
	display: flex;
    justify-content: center;
	padding: 0;
	width: 100%;
}
ul.list-flex li p,
ul li.list-flex p {text-align: center;}

ul.list-dot{padding: 8px 0}
ul.list-dot li {
	border-bottom: none!important;
    text-align: left;
    padding-left: 15px;
    font-size: 1.4rem;
    padding: 0px 0 0 10px;
    margin-bottom: 0px;
}
ul.list-dot>li::before {left: 0.1em;}
ul.col3{display: flex;}
ul.list li.list-related ul li.arrowT-20::before, 
ul.list li.list-related ul li.arrowT-20::after {top: -20px;}

.colorE li {background-color: #569e25;}
.colorS li {background-color: #ff7c00;}
.w49 {width: 49%!important;}
.w100 {width: 100%!important;}
.h50{height: 50px!important;}
.h80 {height: 80px!important;}
.h90 {height: 90px!important;}
.h100{height: 100px!important;}
.h110{height: 110px!important;}
.h115 {height: 115px!important;}
.h240{height: 240px!important;}
.h260{height: 260px!important;}
.mT24{margin-top: 24px!important;}
.col2 {column-count: 2!important;}
.textSS{font-size:1.2rem!important;}
ul.noBdrB li {border-bottom: none!important;}
.sp-b {display: none;}
.Fon30 span {font-size: 3.0rem!important;}
.Fon38 span {font-size: 3.8rem!important;}
.table-default.w-narrow th, .table-default.w-narrow td {
  padding: 12px 5px 12px 5px;
}

/* arrow
-------------------------------------------------------------*/
dl.sustainTop-box ul{
	display: flex;
	flex-wrap: wrap;
	column-gap: 10px;
}
dl.sustainTop-box ul li {
	line-height: 20px;
  border-radius: 5px;
	margin: 5px 0;
}
dl.sustainTop-box ul li a {
	position: relative;
	padding-left: 14px;
	color: #fff;
	font-size: 1.4rem;
	padding: 8px 15px 8px 30px;
	display: block;
}
dl.sustainTop-box ul li a:before {
	content: "";
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: translate(-40%, -50%) rotate(135deg);
    transform: translate(-40%, -50%) rotate(135deg);
    position: absolute;
    top: 1.15em;
    left: 17px;
}
ul.list li.list-related ul li {
    position: relative;
    padding: 0 0 0 20px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}
ul.list li.list-related ul li::before,
ul.list li.list-related ul li::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    content: "";
    vertical-align: middle;
}
ul.list li.arrow ul li::before{
	width: 12px;
    height: 2px;
    background: #569e25;
    content: "";
    display: block;
    position: absolute;
    top: 0.65em;
    left: 0.2em;
    border-radius: 4px;
}
ul.list li.arrow ul li::after{
    width: 8px;
    height: 8px;
    border-top: 2px solid #569e25;
    border-right: 2px solid #569e25;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0.4em;
    left: 0.2em;
}
ul.list li.arrow.colorS ul li::before{
    background: #ff7c00;
}
ul.list li.arrow.colorS ul li::after{
    border-top: 2px solid #ff7c00;
    border-right: 2px solid #ff7c00;
}
ul.list li.list-related ul li.arrowT-20::before, 
ul.list li.list-related ul li.arrowT-20::after {top: -20px;}

/* sustainability Top
-------------------------------------------------------------*/
.sustainTop-box {
    position: relative;
    width: 100%;
    padding: 10px 0;
    font-size: 18px;
    text-align: center;
}
.sustainTop-box.colorE {padding-bottom: 0;}
dl.sustainTop-box::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    margin: 0 auto;
    text-align: center;
    background-position: center;
    background-repeat: no-repeat;
}
dl.sustainTop-box.colorE::before {
	background-image: -webkit-linear-gradient(to right, transparent, #569e25 55%, #569e25 25%, transparent);
    background-image: linear-gradient(to right, transparent, #569e25 55%, #569e25 25%, transparent);
}
dl.sustainTop-box.colorS::before {
	background-image: -webkit-linear-gradient(to right, transparent, #ff7c00 55%, #ff7c00 25%, transparent);
    background-image: linear-gradient(to right, transparent, #ff7c00 55%, #ff7c00 25%, transparent);
}
dl.sustainTop-box{
	display: flex;
	align-items: center;
}
/*dl.sustainTop-box img {
	float: left;
}*/
dl.sustainTop-box dt{
	width: 200px;
	font-size: 2.6rem;
	padding-right: 24px;
	margin-bottom: 0;
	text-align: center;
}
dl.sustainTop-box dt div{margin: 0 auto;}
dl.sustainTop-box dt p {
	font-weight: bold;
  position: relative;
  top: -10px;
}
dl.sustainTop-box dd{width: calc((100% - 200px));}
/*dl.sustainTop-box.colorE ul {
	padding-top: 20px;
}*/


/* section 01
-------------------------------------------------------------*/
#section01>div {
    background-color: #e5f1dd;
    border-radius: 10px;
	margin-bottom: 20px;
}
#section01>div h3 {
	background-color: #569e25;
    color: #fff;
    padding: 4px 8px;
    border-radius: 10px 10px 0 0;
}
#section01 ul.list.colorE li {
    border-bottom: 5px solid #569e25;
}
#section01 ul.list.colorE li h4 {
	background-color: #e5f1dd;
}
#section01 ul.list.colorE li p.textBg {
    height: 60px;
    background-color: #e5f1dd;
}
#section01 ul.colorE li p.textBold span {color: #54a119;}

/* section 02
-------------------------------------------------------------*/
#section02>div {
    background-color: #ffebd9;
    border-radius: 10px;
	margin-bottom: 20px;
}
#section02>div h3 {
	background-color: #ff7c00;
    color: #fff;
    padding: 4px 8px;
    border-radius: 10px 10px 0 0;
}
#section02 ul.list.colorS li {
    border-bottom: 5px solid #ff7c00;
}
#section02 ul.list.colorS li h4 {
	background-color: #ffebd9;
}
#section02 ul.list.colorS li p.textBg {
    height: 25px;
    background-color: #ffebd9;
}
#section02 ul.colorS li p.textBold span {color: #ff7c00;}
#section02 ul.list li p.textOther {
	font-size: 0.9rem;
	text-align: left;
}
#section02 ol.textOther {
	display: flex;
    flex-wrap: wrap;
    padding-top: 3px;
}
#section02 ol.textOther li {
	border-bottom: none!important;
    width: 100%;
    font-size: 0.9rem;
    text-align: left;
	text-indent: -2em;
    padding: 0 0 0 1.98em;
    margin-bottom: 0!important;
}
#section02 ol.textOther li span {
	padding-right: 5px;
}
#section02 table thead th {
	background-color: #ffebd9!important;
	text-align: center;
}
#section02 table tbody td {
	text-align: left;
}
#section02 ul.list-dot li {
	text-align: left;
	font-size: 1.4rem;
	padding: 0 0 0 15px;
	margin: 0;
}
.Fon38 span sup { top: -20px;}

#section02 .table-data th, .table-data td {
	box-sizing: border-box;
	height: 60px;
	vertical-align: middle;
	padding: 8px 10px;
	border-top: 1px solid #999;
}
#section02 .table-data{
	font-size: 1.4rem;
	line-height: 1.4;
	width: 100%;
	border-collapse: collapse;
	border-bottom: 1px solid #999;
}
#section02 .table-data th:not(:first-child), #section02 .table-data td:not(:first-child), #section02 .table-data .bdrL{border-left: 1px solid #999;}

/* ----------------------------------
ESGパフォーマンスデータ 関連
---------------------------------- */
.btn_area {
  line-height: 1.25;
  font-size: 100%;
  display: flex;
  column-gap: 0;
  flex-wrap: nowrap;
  margin-bottom: 60px;
  box-sizing: border-box;
}
.tab_btn {
  box-sizing: border-box;
  min-height: 30px;
  position: relative;
  margin: 5px 0;
  padding: 0 15px;
}
.tab_btn::before {
  content: '';
  width: 1px;
  background-color: #222;
  position: absolute;
  top: 0;
  bottom: 6px;
  left: 0;
}
.tab_btn:last-of-type::after {
  content: '';
  width: 1px;
  background-color: #222;
  position: absolute;
  top: 0;
  bottom: 6px;
  right: 0;
}
.tab_btn span {
  display: table;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  text-decoration: none;
  transition: all .6s;
  position: relative;
  padding-bottom: 0.25em;
  background: linear-gradient(#0072bf, #0072bf) 0 100%/0 2px no-repeat;
}
.tab_btn span:hover, .tab_btn.active span {
  background-size: calc(100% - 0px) 2px;
  cursor: pointer;
}
.tab_btn.active span {
  color: var(--linkColor);
  font-weight: 500;
}
.tab_panel {
  display: none;
}
.tab_panel.active {
  display: block;
}
.tab_panel .table-default td {
  text-align: right;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Tablet (portrait)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (min-width:768px) and (max-width:1023px){
/*=============================================================
 materiality
=============================================================*/	
/* sustainability Top
-------------------------------------------------------------*/	

}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:767px){
/*=============================================================
 materiality
=============================================================*/
	
/* common
-------------------------------------------------------------*/
	#section01 h2, #section02 h2 {
		margin: 40px 0 0px;
	}
	ul.list {padding: 10px;}
	ul.list li { 
		width: 100%;
		padding: 8px 10px;
	}
	ul.col2,ul.col3 {
		column-count: inherit!important;
		display: block;
	}
	ul.col3 li {width: 100%!important;}
	.sp-b {display: block;}
	
	ul.list li .fLeft, ul.list li .fRight {
    width: calc(50% - 8px);
}
	ul.list li p.textGray {
    font-size: 1.1rem;
}
	.Fon38 span {
    font-size: 3.5rem!important;
}
	
	
/* arrow
-------------------------------------------------------------*/
	ul.list li.list-related ul li.sp-arrowT-20::before, 
	ul.list li.list-related ul li.sp-arrowT-20::after {top: -20px;}
	
	ul.list li.list-related ul.sp-arrowT-20 li::before, 
	ul.list li.list-related ul.sp-arrowT-20 li::after {top: -20px;}
	
/* sustainability Top
-------------------------------------------------------------*/	
	dl.sustainTop-box dt {
		display: block;
		padding-right: 0;
		width: 100%;
	}
	dl.sustainTop-box dt>div {
		width: 80px;
    margin: 0 auto;
	}
	dl.sustainTop-box dt p {
		line-height: 30px;
		width: inherit;
		text-align: center;
		margin-bottom: 20px;
    position: static;
	}
	dl.sustainTop-box ul li {
		text-align: left;
		width: 100%;
		float: right;
		margin-right: 0;
		margin-bottom: 10px;
		box-sizing: border-box;
	}
	dl.sustainTop-box.colorE li:last-of-type {
		margin-bottom: 16px;
	}
	.sustainTop-box {
		padding: 6px 0;
	}
	dl.sustainTop-box{
		display: block;
	}
	dl.sustainTop-box dd{width: 100%;}
	dl.sustainTop-box.colorE, dl.sustainTop-box.colorS {
    	padding-top: 16px;
	}
	dl.sustainTop-box ul {
		padding-top: 0!important;
	}
	dl.sustainTop-box img {
		width: 80px;
	}
	
/* section 01
-------------------------------------------------------------*/	
	#section01>div h3 {
		padding: 4px 0 4px 8px;
    	font-size: 1.5rem;
	}
	#section01 ul.list-dot>li::before {    
	top: 1.2em;
}
	
/* section 02
-------------------------------------------------------------*/	
	#section02 p.sp-h62{height: 62px!important;}
	table.table-data{font-size: 1.4rem;}
	table.table-data thead {
		display: none;
	}
	table.table-data tr.tr-content,
	table.table-data td{
		display: block;
		width: 100%;
		position: relative;
	}
	table.table-data td{
		padding: 8px 10px;
		box-sizing: border-box;
	}
	table.table-data tr.tr-content:before {
		content: "Program／Description";
		background: #ffebd9;
		box-sizing: border-box;
		font-weight: bold;
		height: 40px;
		padding: 10px;
		position: absolute;
		left: -0.2%;
		display: block;
		width: 100.5%;
		top: -41px;
		text-align: center;
		border-top: 1px solid #999;

	}
	table.table-data tr.tr-content {
		margin-top: 42px;
	}
	.table-data tr {
		height: auto;
		border-top: none;
	}
	table.table-data tr td:first-child{border-top: 1px solid #999;}
	.table-data tr td:first-child {background-color: #f5f5f5;}
	.table-data th:not(:first-child), 
	.table-data td:not(:first-child), 
	.table-data .bdrL {
    	border-left: none;
	}
	.table-data th, .table-data td {
		height: auto;
		border-top: none;
	}
	
	ul.list-flex {
		flex-wrap: wrap;
    	display: flex;
		width: 100%;
	}
	ul.list-flex li {
		width: 50%;
		margin-bottom: 0;
		padding: 0 4px 0px;
	}
	#section02 ol.textOther {padding-top: 10px;}
	ul li.list-flex .w35 {width: calc(98% / 2)!important;}
	.sp-h46 span {height: 46px;}
	
	ul.list li p.textBold span,
	.Fon38 span{font-size: 3.2rem!important;}
	#section01 ul.list li p.textBold span{font-size: 2.5rem!important;}
	
	#section02 .table-data th, .table-data td {
	border-top: none;
}
#section02 .table-data{
	border-bottom: none;
}
#section02 .table-data th:not(:first-child), #section02 .table-data td:not(:first-child), #section02 .table-data .bdrL{border-left: none;}
  
  /* ----------------------------------
  ESGパフォーマンスデータ 関連
  ---------------------------------- */
  .btn_area {
    margin-bottom: 30px;
  }
	
}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones (portrait)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:440px){



}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones small (portrait)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:374px){



}
